1: | is_empty(nil) | → true | |
2: | is_empty(cons(x,l)) | → false | |
3: | hd(cons(x,l)) | → x | |
4: | tl(cons(x,l)) | → cons(x,l) | |
5: | append(l1,l2) | → ifappend(l1,l2,is_empty(l1)) | |
6: | ifappend(l1,l2,true) | → l2 | |
7: | ifappend(l1,l2,false) | → cons(hd(l1),append(tl(l1),l2)) | |
8: | APPEND(l1,l2) | → IFAPPEND(l1,l2,is_empty(l1)) | |
9: | APPEND(l1,l2) | → IS_EMPTY(l1) | |
10: | IFAPPEND(l1,l2,false) | → HD(l1) | |
11: | IFAPPEND(l1,l2,false) | → APPEND(tl(l1),l2) | |
12: | IFAPPEND(l1,l2,false) | → TL(l1) | |